home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / LaZaRuS X.txt < prev    next >
Encoding:
Text File  |  1999-04-25  |  6.0 KB  |  106 lines

  1.  
  2.  
  3.                      L                ZZZZZZ         RRRRR           SSSSS
  4.                      L                    Z          R    R         S
  5.                      L          aaa      Z      aaa  R    R  u   u  S
  6.                      L            a     Z         a  RRRRR   u   u  SSSSS
  7.                XX    L         aaaa    Z       aaaa  R    R  u   u       S
  8.               XXXX   L        a   a   Z       a   a  R    R  u   u       S
  9.              XXXXXX  LLLLLLL  aaaaa  ZZZZZZZ  aaaaa  R    R  uuuuu  SSSSSS
  10.              XXXXXX       
  11.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  12.        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  13.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  14.              XXXXXX
  15.              XXXXXX
  16.               XXXX        proudly presents his 10.Cracking Tutorial (25.04.1999)
  17.                XX                          eKH CrackMe 1.0
  18.  
  19. I.   Tools you need for my tutorial
  20. II.  Cracking with W32Dasm
  21. III. BTW
  22.  
  23. I.   Tools you need for my tutorial
  24.      Win32Dasm 8.9  (get at http://Qserve.8m.com)
  25.      
  26. II.  Cracking with Win32Dasm:
  27.      At first we have a look at the target (Meanwhile we disassemble it, that saves time): A name
  28.      and a serial must be entered. When we enter a serial, a messagebox appears saying that we
  29.      entered an invalid serial (Did you expect that? ;). OK, let's search for the string in our
  30.      dead listing. We see
  31.  
  32.      :00427B7E E80DE2FEFF              call 00415D90
  33.      :00427B83 8B45FC                  mov eax, dword ptr [ebp-04]
  34.      :00427B86 50                      push eax
  35.      :00427B87 8D55F8                  lea edx, dword ptr [ebp-08]
  36.      :00427B8A 8B83DC010000            mov eax, dword ptr [ebx+000001DC]
  37.      :00427B90 E8FBE1FEFF              call 00415D90
  38.      :00427B95 8B45F8                  mov eax, dword ptr [ebp-08]
  39.      :00427B98 5A                      pop edx
  40.      :00427B99 E882FEFFFF              call 00427A20       ;; compares serial and sets flag
  41.      :00427B9E 3D4E61BC00              cmp eax, 00BC614E   ;; compares something with BC614E
  42.      :00427BA3 7D1E                    jge 00427BC3        ;; if greater or equal then "Correct"
  43.  
  44.      * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  45.      |:00427B73(C)
  46.      |
  47.      :00427BA5 6A00                    push 00000000       ;; else Messagebox("Wrong")
  48.  
  49.      * Possible StringData Ref from Code Obj ->"ERROR"
  50.                                        |
  51.      :00427BA7 68087C4200              push 00427C08
  52.  
  53.      * Possible StringData Ref from Code Obj ->"Wrong Serial Number !"
  54.  
  55.      Now we could try to enter the decimal value of BC614E as serial. But that would be too easy.
  56.      BC614E must be a flag or the serial we entered with a little calculation on it. So let's
  57.      hope it is a flag. Search for MOV EAX, 00BC614E. No occurence found :( So let's start 
  58.      tracing through the code (I do it with the W32Dasm Debugger, but you can SICE as well). 
  59.      Enter the CALL at :00427B99 and trace through the code. Don't enter any call. It's our first
  60.      try, and we don't want to get lost in the "deep codewoods". It's better to hope that we can
  61.      read the serial somewhere in the "main" call. Look everytime at the registers that have 
  62.      changed. Sometimes you see values stored in registers that look damn like serials. But these
  63.      do only want to fool you. (Who of you wouldn't have tried values like: 5104CE97, 385532209
  64.      or some more). The interesting part starts here:
  65.  
  66.      :00427AF6 8B45F4                  mov eax, dword ptr [ebp-0C]  ;; correct serial
  67.      :00427AF9 8B55F8                  mov edx, dword ptr [ebp-08]  ;; entered serial
  68.      :00427AFC E8BFBDFDFF              call 004038C0                ;; compare them
  69.      :00427B01 7507                    jne 00427B0A                 ;; if they are not equal,jump
  70.      :00427B03 BB4E61BC00              mov ebx, 00BC614E            ;; the flag
  71.      :00427B08 EB05                    jmp 00427B0F                 ;; Jump to: Return one call
  72.  
  73.      So we can see the correct serial in EAX. And now we know why we didn't find the flag. It's
  74.      moved to EBX and not to EAX. Somewhere later you find MOV EAX, EBX or something like that.
  75.      Bad Luck :(.
  76.  
  77. III. BTW
  78.      Hope my tutorial was helpful for you and see you again in my next tutorial. 
  79.      
  80.      Greets to: Fravia+, tKC, ED!SON, Moral Insanity, The Sandman, Eternal Bliss, DaVinci and 
  81.      all [hf] members
  82.  
  83.  
  84. All Tutorials by LaZaRuS [hf]
  85.  
  86.  #|  date  |   name           |version|W32Dasm|Soft-Ice|kind of crack            |
  87. --|--------|------------------|-------|-------|--------|-------------------------|
  88. 01|20.01.99|Jaylock           |1,0,0,1|  (X)  |   (X)  |serial#                  |
  89. 02|31.01.99|Goldwave          |4.02   |  (X)  |   (X)  |serial#,nag-screens      |
  90. 03|28.03.99|AxMan             |3.00   |  (X)  |   (X)  |serial#,remove date-limit|
  91.   |        |                  |       |       |        |nag-screen, key generator|
  92. 04|29.03.99|C++Builder Strings|       |  (X)  |   (X)  |how to find strings in   |
  93.   |        |                  |       |       |        |C++ Builder that are not |
  94.   |        |                  |       |       |        |hardcoded                |
  95. 05|29.03.99|Better Protection |       |       |        |How to protect shareware |
  96.   |        |                  |       |       |        |better against crackers  |
  97. 06|04.04.99|Start Clean       |1.2    |  (X)  |   (X)  |nag-screen/serial/keygen |
  98. 07|06.04.99|MP3 TO EXE        |1.02   |  (X)  |   (X)  |nag-screen/serial        |
  99. 08|06.04.99|HexDecCharEditor  |1.02   |  (X)  |        |make it registered       |
  100. 09|20.04.99|PowerZip          |4.51   |  (X)  |        |serial/time-check/...    |
  101. 10|24.04.99|eKH CrackMe       |1.0    |  (X)  |        |serial                   |
  102.  
  103.      
  104. LaZaRuS [hf]
  105. Visit Hellforge at http://come.to/hellforge for more tutorials and high quality cracking links.
  106. If you want to mail me: lazarus666@gnwmail.com